package com.jhhc.RHDB.Data.Pojo;

import com.fasterxml.jackson.annotation.JsonInclude;


import java.util.ArrayList;
import java.util.List;


//@JsonInclude(JsonInclude.Include.NON_NULL)
public class Sensors {


    // 传感器名称
    private String sensorName;

    // 传感器类型
    private SensorType sensorType;

    //取数码
    private String datacode;

    //开始日期  能取到数据的
    private String startTM;


    // 结束日期
    private String endTM;

    // 数据集合
    //@JsonInclude(JsonInclude.Include.NON_NULL)
    private List<Data> dataList;

    private List<Data> hourlyStatisticsDatas;
    //集合下的最大值
    private Data maxData;
    //集合下的最小值
    private Data minData;

    //集合下的累计值
    private Double TotalValue;
    //有数据的开始及结束时间
    private String dataStartTime;
    private String dataEndTime;

    private String remark;

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getRemark() {
        return remark;
    }

    public String getDataStartTime() {
        return dataStartTime;
    }

    public void setDataStartTime(String dataStartTime) {
        this.dataStartTime = dataStartTime;
    }

    public String getDataEndTime() {
        return dataEndTime;
    }

    public void setDataEndTime(String dataEndTime) {
        this.dataEndTime = dataEndTime;
    }

    public List<Data> getHourlyStatisticsDatas() {
        return hourlyStatisticsDatas;
    }

    public void setHourlyStatisticsDatas(List<Data> hourlyStatisticsDatas) {
        this.hourlyStatisticsDatas = hourlyStatisticsDatas;
    }

    //涨潮最大流速
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Double maximumVelocityOfFloodTide;


    //落潮最大流速
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Double maximumVelocityOfEbbTide;


    public Double getMaximumVelocityOfFloodTide() {
        return maximumVelocityOfFloodTide;
    }

    public void setMaximumVelocityOfFloodTide(Double maximumVelocityOfFloodTide) {
        this.maximumVelocityOfFloodTide = maximumVelocityOfFloodTide;
    }

    public Double getMaximumVelocityOfEbbTide() {
        return maximumVelocityOfEbbTide;
    }

    public void setMaximumVelocityOfEbbTide(Double maximumVelocityOfEbbTide) {
        this.maximumVelocityOfEbbTide = maximumVelocityOfEbbTide;
    }

    public Double getTotalValue() {
        return TotalValue;
    }

    public void setTotalValue(Double totalValue) {
        TotalValue = totalValue;
    }

    public Double getAvgValue() {
        return AvgValue;
    }

    public void setAvgValue(Double avgValue) {
        AvgValue = avgValue;
    }

    //集合下的平均值
    private Double AvgValue;

    public Data getMaxData() {
        return maxData;
    }

    public void setMaxData(Data maxData) {
        this.maxData = maxData;
    }

    public Data getMinData() {
        return minData;
    }

    public void setMinData(Data minData) {
        this.minData = minData;
    }

    public String getDatacode() {
        return datacode;
    }

    public void setDatacode(String datacode) {
        this.datacode = datacode;
    }


    public SensorType getSensorType() {
        return sensorType;
    }

    public void setSensorType(SensorType sensorType) {
        this.sensorType = sensorType;
    }

    public String getStartTM() {
        return startTM;
    }

    public void setStartTM(String startTM) {
        this.startTM = startTM;
    }

    public String getEndTM() {
        return endTM;
    }

    public void setEndTM(String endTM) {
        this.endTM = endTM;
    }

    public List<Data> getDataList() {
        return dataList;
    }

    public void setDataList(List<Data> dataList) {
        this.dataList = dataList;
    }

    List<Data> datalist = new ArrayList<Data>();

    public void setDataList(Data Data) {
        dataList = datalist;
        datalist.add(Data);
    }


    public void setDataList(Double value, String TM) {
        Data Data = new Data(TM, value);
        this.dataList.add(Data);
    }


    @Override
    public String toString() {
        return "Sensors{" +
                "sensorName='" + sensorName + '\'' +
                ", sensorType=" + sensorType +
                ", datacode='" + datacode + '\'' +
                ", dataStartTime='" + dataStartTime + '\'' +
                ", dataEndTime='" + dataEndTime + '\'' +
                '}';
    }

    public String getSensorName() {
        return sensorName;
    }

    public void setSensorName(String sensorName) {
        this.sensorName = sensorName;
    }
}
